<?php


namespace app\app\controller;


use think\Db;

class Down extends Base
{
    public function __construct()
    {
        parent::__construct();
    }

    //fname为要下载的文件名
    //$fpath为下载文件所在文件夹，默认是downlod
    public function download($fname, $fpath = "/")
    {

        //避免中文文件名出现检测不到文件名的情况，进行转码utf-8->gbk
        $filename = iconv('utf-8', 'gb2312', $fname);
        $path = $fpath . $filename;
        if (!file_exists($path)) {//检测文件是否存在
            echo "文件不存在！";
            die();
        }

        $filesize = filesize($path);//文件大小

        //告诉浏览器这是一个文件流格式的文件(app)
        Header("Content-type: application/vnd.android.package-archive");
        //用来告诉浏览器，文件是可以当做附件被下载，下载后的文件名称为$file_name该变量的值。
        header('Content-disposition: attachment; filename=' . $filename); //文件名
        header("Cache-Control: public");
        header("Content-Description: File Transfer");
        header("Content-Transfer-Encoding: binary"); //告诉浏览器，这是二进制文件
        //这里会告诉请求方,文件大小
        header('Content-Length: ' . $filesize); //告诉浏览器，文件大小
        //读取文件内容并直接输出到浏览器
        @readfile($path);
        exit ();

    }

    public function index()
    {
        return false;
        $this->download("hawenyingshi20.apk", $_SERVER['DOCUMENT_ROOT'] . "/");
    }
}